﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FunArts.EasyDevOps.Shared.Models.SshClient.KeepAlivedClient
{
    public class GlobalDefs
    {
        /// <summary>
        /// 通知邮件接收列表
        /// </summary>
        public List<string> NotificationEmails { get; set; } = new List<string>();

        /// <summary>
        /// 通知邮件发件人地址
        /// </summary>
        public string NotificationEmailFrom { get; set; } = "keepalived@localhost";

        /// <summary>
        /// SMTP服务器地址
        /// </summary>
        public string SmtpServer { get; set; } = "127.0.0.1";

        /// <summary>
        /// 绑定的网络接口(如eth0)
        /// </summary>
        public string Interface { get; set; } = "eth0";

        /// <summary>
        /// SMTP连接超时时间(秒)
        /// </summary>
        public int SmtpConnectTimeout { get; set; } = 30;

        /// <summary>
        /// 路由器标识(集群内唯一)
        /// </summary>
        public string RouterId { get; set; } = "LVS_DEVEL";

        /// <summary>
        /// 是否启用严格模式(禁止VIP地址出现在接口上)
        /// </summary>
        public bool VrrpStrict { get; set; } = false;

        /// <summary>
        /// 是否跳过检查通告地址
        /// </summary>
        public bool VrrpSkipCheckAdvAddr { get; set; } = false;

        /// <summary>
        /// GARP(免费ARP)发送间隔(秒)
        /// </summary>
        public int VrrpGarpInterval { get; set; } = 0;

        /// <summary>
        /// GNA(免费NA)发送间隔(秒)
        /// </summary>
        public int VrrpGnaInterval { get; set; } = 0;
    }
}
